﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using Volo.Abp.Localization;

namespace YunxSoft.Abp.LanguageManagement;

// public class DynamicLocalizationResourceContributor : ILocalizationResourceContributor
// {
//     protected LocalizationResource Resource;
//
//     protected IDynamicResourceLocalizer DynamicResourceLocalizer;
//
//     public void Initialize(LocalizationResourceInitializationContext context)
//     {
//         this.Resource = context.Resource;
//         this.DynamicResourceLocalizer = context.ServiceProvider.GetRequiredService<IDynamicResourceLocalizer>();
//     }
//
//     public LocalizedString GetOrNull(string cultureName, string name)
//     {
//         return this.DynamicResourceLocalizer.GetOrNull(this.Resource, cultureName, name);
//     }
//
//     public void Fill(string cultureName, Dictionary<string, LocalizedString> dictionary)
//     {
//         this.DynamicResourceLocalizer.Fill(this.Resource, cultureName, dictionary);
//     }
// }
//
// public class DynamicLocalizationResourceContributor2 : ILocalizationResourceContributor
// {
//     public void Initialize(LocalizationResourceInitializationContext context)
//     {
//         throw new System.NotImplementedException();
//     }
//
//     public LocalizedString? GetOrNull(string cultureName, string name)
//     {
//         throw new System.NotImplementedException();
//     }
//
//     public void Fill(string cultureName, Dictionary<string, LocalizedString> dictionary)
//     {
//         throw new System.NotImplementedException();
//     }
//
//     public Task FillAsync(string cultureName, Dictionary<string, LocalizedString> dictionary)
//     {
//         throw new System.NotImplementedException();
//     }
//
//     public Task<IEnumerable<string>> GetSupportedCulturesAsync()
//     {
//         throw new System.NotImplementedException();
//     }
//
//     public bool IsDynamic { get; }
// }